#pragma once

#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<stdbool.h>

typedef int LTDataType;

typedef struct ListNode
{
	struct ListNode* next;
	struct ListNode* prev;
	LTDataType data;
}LTNode;

void ListPrint(LTNode* phead);
LTNode* ListInit();
void ListPushBack(LTNode* phead, LTDataType x);
void ListPushFront(LTNode* phead, LTDataType x);
void ListPopBack(LTNode* phead);
void ListPopFront(LTNode* phead);
void ListInsert(LTNode* phead, int pos, LTDataType x);
void ListErase(LTNode* phead, int pos);
int ListSize(LTNode* phead);